-- CALC_ELEM_MINE_BONUS

-- 计算元素矿脉奖励
-- @param user      玩家对象
-- @param elemType  元素类型
return function(user, elemType)
    local rand = DungeonM.getRandSeed("CALC_ELEM_MINE_BONUS") % 100;

    -- 50%概率：获得2个【x元素结晶】
    -- 30%概率：获得3个【x元素结晶】
    -- 20%概率：获得4个【x元素结晶】

    local count = 0;
    if rand < 50 then
        count = 2;
    elseif rand < 80 then
        count = 3;
    else
        count = 4;
    end

    -- 特殊元素圣坛的矿脉通用的，只好在相应层奖励的数量固定为3
    -- 小关元素矿奖励数量
    local dungeonId = DungeonM.getDungeonId();
    local layer     = DungeonM.currentLayer();
    if dungeonId == 32 and layer == 8  then
        count = 3;
    end

    -- 小关元素矿奖励数量
    if dungeonId == 33 and layer == 3  then
        count = 3;
    end

    local class_id;
    local bonus = {};
    if elemType == ELEMENT_TYPE_EARTH then
        -- 土元素结晶
        table.insert(bonus, { 1, 7017, count, });
    elseif elemType == ELEMENT_TYPE_WATER then
        -- 水元素结晶
        table.insert(bonus, { 1, 7018, count, });
    elseif elemType == ELEMENT_TYPE_FIRE then
        -- 火元素结晶
        table.insert(bonus, { 1, 7019, count, });
    elseif elemType == ELEMENT_TYPE_AIR then
        -- 气元素结晶
        table.insert(bonus, { 1, 7020, count, });
    elseif elemType == ELEMENT_TYPE_LIGHT_DARK then
        -- 光/暗元素
        if rand < 70 then
            count = 1;
        else
            count = 2;
        end

        -- 1、70%概率：获得1个【光元素结晶】及1个【暗元素结晶】
        -- 2、30%概率：获得2个【光元素结晶】及2个【暗元素结晶】
        bonus = {
            { 1, 7042, count, },
            { 1, 7043, count, },
        }
    end

    local ret = { ["bonus"] = bonus, };

    return ret;
end
